using System;
using System.ServiceModel;
using Odin.Contracts.Data;

namespace Odin.Contracts.Services
{
	[ServiceContract]
	public interface IRemoteSessionManager : ISessionManager
	{
		[OperationContract]
		Session GetSessionByIdentifier(string identifier);

		[OperationContract]
		Session UpdateSession(Session session);

		[OperationContract]
		void ReportMethod(Session session, Method method);

		[OperationContract]
		void Running(Session session);

		[OperationContract]
		void Completed(Session session);

		[OperationContract]
		Method[] GetMethodsChangedSince(Session session, DateTime dateTime);
	}
}